perm filename EDIT.F4[RST,LCS] blob sn#208654 filedate 1976-04-01 generic text, type T, neo UTF8
00100		SUBROUTINE EDIT(JJA)
00200		COMMON/ALF/INP(72),ML /UPDWN/ RL,UD
00300		COMMON /SC/JL,LJ,MK
00400		1 ,ISKP,XMINUS,N,REXP,LK,NNUM,JM,JN,DBST,NFLG,IXX,ISEMI,QQ
00500		1 ,RVX(50),IAMP,A,RRN,B,MODE,IBLA
00600		COMMON R2,JA,CENTR,J2,RJQ(20),JQ(20)
00700		COMMON/RRJJ/RJJ2,RJJ(20)
00800		EQUIVALENCE (RVX1,RVX(1)),(RVX2,RVX(2)),(RVX4,RVX(4))
00900		1,(RVX3,RVX(3)),(RJ6,RJJ(4)),(RJ9,RJJ(7)),(R3,RJQ(1))
01000		1,(RJ5,RJJ(3)),(RJ10,RJJ(8)),(INP2,INP(2)),(INP20,INP(20))
01100		JN=-1
01200	C  THIS IS FLAG IN SCANR
01300		INP20=ISEMI
01400	C  SETS LIMIT IN SCANR
01500		ML=1
01600		RVX2=0
01700		RVX4=0
01800	C E=EDIT(55), C=COPY(2222), X=EXIT(222), DE=DEL(99), LP=LTPN
01900		CALL SCANR
02000		JN=0
02100		R2=RVX2
02200		IF(RVX1.GT.10.)GO TO 7
02300		JA=0
02400		IF(RVX2.NE.0)GO TO 8
02500		IF(INP2.EQ.'P')GO TO 5
02600		RVX2=RL
02700		IF(RVX1.GT.2)RVX2=UD
02800	C  STORES RT-LFT OR UP-DOWN INFO
02900		GO TO 8
03000	CC	IF(RVX1.NE.4)GO TO 5
03100	CC	RETURN
03200	C   FOR LIGHT PEN MOVING
03300	7	JA=RVX1
03400		IF(JA.EQ.99)R2=0
03500		IF(R2.NE.0)RETURN
03600		IF(JA.NE.55)RETURN
03700	5	CALL LPEN(R3,R2,K)
03800	C  ↑↑↑ K NOT USED!
03900	C  CURSOR WILL FIND HORZ POS FOR 55 EDIT.(R3=STF,R2=HORZ) SEE 554 IN MAIN.
04000		IF(JA.EQ.0)CALL EXCH(R2,R3)
04100		RVX1=2.
04200		RVX2=R3-RJJ(1)
04300		RVX3=3.
04400		RJQ(2)=0
04500		RJJ2=R2
04600	C ↑↑↑↑↑↑↑↑↑↑↑↑?????????
04700	C  SO JD WILL BE 0 IN MAIN PROG.
04800	C  FOR EDIT MODE
04900	8	IF(JA.EQ.55)RETURN
05000		IF(INP2.EQ.'P')GO TO 17
05100		IF(RVX1.GT.2)GO TO 117
05200		RL=RVX2
05300		IF(RVX4.NE.0)UD=RVX4
05400		GO TO 17
05500	117	IF(RVX4.NE.0)RL=RVX4
05600		UD=RVX2
05700	17	R2=.00001
05800		JA=0
05900		K=RVX1
06000	857	GO TO (1,2,3,4,2),K
06100	4	RVX2=-RVX2
06200	CC3	IF(JJA.EQ.17.OR.JJA.EQ.7.OR.JJA.EQ.18)GO TO 12
06300	C  SKIP OVER CLEFS (JJA=3) IS NOW REMOVED. 6/73
06400	3	CALL MVBEAM(RJJ,0,2,2,RVX2)
06500	C  MOVES UP AND DOWN.  HANDLES MINIS, ETC.
06600	      IF(JJA.LT.4)GO TO 856
06700		IF(JJA.GT.6)GO TO 856
06800	C   I THINK R2 MUST BE NON-ZERO TO WORK IN EDIT MODE?
06900	12	IF(RJ5.EQ.50)GO TO 856
07000	C   50=CRESC.-DECRESC.
07100	CC	K=3
07200	CC	IF(JJA.EQ.17.OR.JJA.EQ.18)K=4
07300		RJ5=RJ5+RVX2
07400	C  MOVES 5TH PARAM UP OR DOWN
07500		GO TO 856
07600	1	RVX2=-RVX2
07700	2	R2=RVX2
07800	856	IF(RVX4.EQ.0)GO TO 858
07900		K=RVX3
08000		RVX2=RVX4
08100		RVX4=0
08200		GO TO 857
08300	858	IF(R2.EQ..00001)GO TO 7515
08400		IF(JJA.LT.5)GO TO 477
08500		IF(JJA.LE.8)GO TO 5515
08600	477	IF(JJA.NE.4)GO TO 7515
08700		IF(RJ6.EQ.0)GO TO 7515
08800	C  ABOVE FOR P1=6 (BEAMS, SLURS, LINES)
08900	5515	RJ6=RJ6+R2
09000		IF(JJA.NE.6)GO TO 7515
09100		IF(RJ9.EQ.0)GO TO 7515
09200		IF(RJ10.LT.30)GO TO 7515
09300		IF(JJA.EQ.6)RJ9=RJ9+R2
09400	C  RJ9(P9) IS LOC. OF INNER NOTE IN BEAM RANGE. SKIPS NUMBERS IN P9.
09500	7515	RJJ(1)=R2+RJJ(1)
09600		END